package br.gov.mi.corporativo.dominio.boundary.comum.pessoajuridica;

import java.util.List;

import javax.inject.Inject;
import javax.jws.WebService;

import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import br.gov.mi.corporativo.dominio.entidade.comum.PessoaJuridica;
import br.gov.mi.corporativo.dominio.repositorio.comum.PessoaJuridicaRepositorio;
import br.gov.mi.infraestrutura.crud.CrudServicoImpl;

@Component
@Transactional(readOnly=true)
@WebService(endpointInterface = "br.gov.mi.corporativo.dominio.boundary.comum.pessoajuridica.PessoaJuridicaEndPoint")
public class PessoaJuridicaServico extends CrudServicoImpl<PessoaJuridica, Long, PessoaJuridicaRepositorio>  implements PessoaJuridicaEndPoint{
	
	@Inject
    public void setRepository(PessoaJuridicaRepositorio repositorio) {
        super.setRepositorio(repositorio);
    }

	@Override
	public PessoaJuridica recuperarPorIdPessoaJuridica(Long idPessoaJuridica) {
		return repositorio.findByIdPessoaJuridica(idPessoaJuridica);
	}

	@Override
	public List<PessoaJuridica> recuperarPorRamoAtividade(Long ramoAtividade) {
		return repositorio.findByRamoAtividade(ramoAtividade);
	}

	@Override
	public List<PessoaJuridica> recuperarPorPessoa(Long pessoa) {
		return repositorio.findByPessoa(pessoa);
	}

	@Override
	public List<PessoaJuridica> recuperarPorNmRazaoSocial(String nmRazaoSocial) {
		return repositorio.findByNmRazaoSocial(nmRazaoSocial);
	}

	@Override
	public List<PessoaJuridica> recuperarPorNmFantasia(String nmFantasia) {
		return repositorio.findByNmFantasia(nmFantasia);
	}
  
	
}
